1) Field of the Invention
The present invention relates to a system analysis program, a system analysis method, and a system analysis apparatus for analyzing the operational status of a network system, and particularly to a system analysis program, a system analysis method, and a system analysis apparatus for analyzing the operational status of a system based on a transaction model in which exchange of messages between servers during a transaction are defined.
2) Description of the Related Art
Many of the recent computer systems using the IT (information and communications technology) have large-scale complex constructions. For example, in an increasing number of systems, various transaction services such as transaction services for payment and transfer in online banking are provided through a 3-tier web system constituted by a web server, an application server, and a database (DB) server. Such systems have massive and complex constructions for enhancement of the efficiency in transactions, provision for security, and the like. In addition, since many transactions require promptness, suspension of services and deterioration of responses are serious problems. Therefore, it is necessary to keep track of details of the operational statuses of large-scale systems, and promptly solve performance problems.
Further, in order to determine the causes of a performance deterioration or a failure of a complex system (such as a tier web system) in which a plurality of applications operate in cooperation with each other, it is necessary to monitor and analyze the overall system performance as well as the behavior of each server. For example, in the 3-tier web systems, often, processing requests to an application server occur in correspondence with processing requests to a web server, and processing requests to a DB server occur in correspondence with processing requests to the application server. In order to investigate propagation of a performance problem in each system, it is necessary to examine caller-called relationships between processes in applications.
Therefore, there are demands for a function of tracking processing performed by each application, from a user's request to a response. When such tracking is possible, analysis of the problem of the system becomes easy.
This situation leads to increasing demands for a technique for tracking message exchanged between servers for processing by implementing an agent in each server. This technique makes each agent analyze and report the operational status of the server. For example, see FIG. 2 in the Technical Standard “Application Response Measurement (ARM),” Issue 4.0-C Binding, published by The Open Group, October 2003.
In addition, a technique in which an agent keeps track of the operational status and reports the result is already operational. For example, see “IBM Tivoli Monitoring for Transaction Performance helps maximize performance of your applications,” published by IBM Corporation Software Group, September 2003, and “IBM Tivoli Monitoring for Transaction Performance,” version 5.2, published by IBM Corporation Software Group, September 2003.
However, according to the conventional techniques, in order to acquire detailed information on an application-by-application basis, it is necessary to implement some application (e.g., an agent) in each server. Therefore, it is difficult to analyze the performance of an existing system. In particular, in the recent systems, each application is produced by a different company. Therefore, it is difficult to adapt such systems so as to enable exchange of information between every application and an agent.